Tίτλος του μαθήματος

Αντικειμενοστραφής Προγραμματισμός

Κωδικός αριθμός μαθήματος

ELE476

Τύπος του μαθήματος

Επιλογής

Επίπεδο του μαθήματος

Προπτυχιακό

Έτος σπουδών

Τέταρτο

Εξάμηνο

Όγδοο

Πιστωτικές μονάδες ECTS

5

Όνομα του διδάσκοντος/των διδασκόντων

Δ. Μπακάλης, Επ. Καθηγητής

Επιδιωκόμενα μαθησιακά αποτελέσματα του μαθήματος

Στο τέλος αυτού του μαθήματος ο φοιτητής θα μπορεί να

  1. επιλύει συγκεκριμένα προβλήματα με τον υπολογιστή δημιουργώντας αντικειμενοστραφή προγράμματα υπολογιστών σε γλώσσα C++ ή Java.
  2. αναλύει υπάρχοντα αντικειμενοστραφή προγράμματα υπολογιστών γραμμένα σε γλώσσες προγραμματισμού C++ ή Java και να καθορίζει τη λειτουργία τους.
  3. επεκτείνει ή να διορθώνει υπάρχοντα αντικειμενοστραφή προγράμματα υπολογιστών γραμμένα σε γλώσσες C++ ή Java.
  4. διακρίνει ομοιότητες και διαφορές μεταξύ των διαφόρων δομών της C++ και της Java.

Δεξιότητες

Στο τέλος αυτού του μαθήματος ο φοιτητής θα έχει περαιτέρω αναπτύξει τις ακόλουθες δεξιότητες

  1. Ικανότητα να χρησιμοποιεί τον υπολογιστή ως εργαλείο ανάπτυξης εφαρμογών και επίλυσης επιστημονικών προβλημάτων.
  2. Ικανότητα να επιδεικνύει γνώση και κατανόηση των ουσιωδών δεδομένων, εννοιών, αρχών και θεωριών που σχετίζονται με τον αντικειμενοστραφή προγραμματισμό υπολογιστών. 
  3. Ικανότητα να εφαρμόζει αυτή τη γνώση και κατανόηση στη λύση ποιοτικών και ποσοτικών προβλημάτων μη οικείας φύσης.
  4. Ικανότητα να υιοθετεί και να εφαρμόζει μεθοδολογία στη λύση μη οικείων προβλημάτων.
  5. Δεξιότητες μελέτης που χρειάζονται για τη συνεχή επαγγελματική ανάπτυξη.
  6. Ικανότητα να αλληλεπιδρά με άλλους σε προβλήματα προγραμματισμού υπολογιστών ή διεπιστημονικής φύσης.

Προαπαιτήσεις

Δεν υπάρχουν προαπαιτούμενα μαθήματα. Οι φοιτητές πρέπει να έχουν τουλάχιστον βασικές γνώσεις προγραμματισμού.

Περιεχόμενα (ύλη) του μαθήματος

Εισαγωγή στον αντικειμενοστραφή προγραμματισμό (C++ / Java).

 

1.                   Εισαγωγή στη C++ και στις κλάσεις

2.                   Δομημένος Προγραμματισμός (Δομές επιλογής και επανάληψης)

3.                   Συναρτήσεις, Υπερφόρτωση συναρτήσεων, Αναδρομή

4.                   Πίνακες, Διανύσματα, Δείκτες, Συμβολοσειρές

5.                   Κλάσεις

6.                   Υπερφόρτωση τελεστών

7.                   Κληρονομικότητα, Πολυμορφισμός

8.                   Συμβολοσειρές με την κλάση string

9.                   I/O Streams, File Processing

10.               Εισαγωγή στη Java

11.               Περισσότερα για τη Java

12.               Σύγκριση των αντικειμενοστραφών γλωσσών (C++, Java)

Συνιστώμενη βιβλιογραφία προς μελέτη

1.     H. M. Deitel, P. J. Deitel, «C++ Προγραμματισμός», 4η έκδοση, 2003

2.  H. Schildt,   «C++ Βήμα πρός Βήμα», Εκδόσεις Μ. Γκιούρδας, 2005.    

3.   H. M. Deitel, P. J. Deitel, «Java How to Program», 6η έκδοση, 2005

 

Διδακτικές και μαθησιακές μέθοδοι

Παραδόσεις με χρήση παρουσιάσεων σε MS Powerpoint, φροντιστήρια με δημιουργία προγραμμάτων για επίλυση προβλημάτων.

Μέθοδοι αξιολόγησης/βαθμολόγησης

1)       Γραπτή εξέταση (100% του τελικού βαθμού)

Γλώσσα διδασκαλίας

Ελληνικά. Mπορούν όμως να γίνουν οι παραδόσεις στην αγγλική γλώσσα στην περίπτωση που αλλοδαποί φοιτητές παρακολουθούν το πρόγραμμα.